LEADTOOLS JPEG 2000 (Leadtools.Jpeg2000 assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
SaveComposite(RasterCodecs,String,List<CompositeJpxImages>,Jpeg2000FileFormat,Int32,Int32) Method
See Also 
Leadtools.Jpeg2000 Namespace > Jpeg2000Engine Class > SaveComposite Method : SaveComposite(RasterCodecs,String,List<CompositeJpxImages>,Jpeg2000FileFormat,Int32,Int32) Method



codecs
The Leadtools.Codecs.RasterCodecs object.
fileName
System.String containing the name of the file currently being saved.
compositeImages
List of CompositeJpxImages containing the image layer data that will be saved.
format
Output JPEG 2000 file format. For valid values, refer to Jpeg2000FileFormat.
bitsPerPixel
Resulting file’s pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. Zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).
qualityFactor
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.
codecs
The Leadtools.Codecs.RasterCodecs object.
fileName
System.String containing the name of the file currently being saved.
compositeImages
List of CompositeJpxImages containing the image layer data that will be saved.
format
Output JPEG 2000 file format. For valid values, refer to Jpeg2000FileFormat.
bitsPerPixel
Resulting file’s pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. Zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).
qualityFactor
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.
Saves a CompositeJpxImages list to a file in any of the supported JPEG 2000 file formats. This method is available in the Document/Medical Toolkits.

Syntax

Visual Basic (Declaration) 
Overloads Public Sub SaveComposite( _
   ByVal codecs As RasterCodecs, _
   ByVal fileName As String, _
   ByVal compositeImages As List(Of CompositeJpxImages), _
   ByVal format As Jpeg2000FileFormat, _
   ByVal bitsPerPixel As Integer, _
   ByVal qualityFactor As Integer _
) 
Visual Basic (Usage)Copy Code
Dim instance As Jpeg2000Engine
Dim codecs As RasterCodecs
Dim fileName As String
Dim compositeImages As List(Of CompositeJpxImages)
Dim format As Jpeg2000FileFormat
Dim bitsPerPixel As Integer
Dim qualityFactor As Integer
 
instance.SaveComposite(codecs, fileName, compositeImages, format, bitsPerPixel, qualityFactor)
C# 
public void SaveComposite( 
   RasterCodecs codecs,
   string fileName,
   List<CompositeJpxImages> compositeImages,
   Jpeg2000FileFormat format,
   int bitsPerPixel,
   int qualityFactor
)
C++/CLI 
public:
void SaveComposite( 
   RasterCodecs^ codecs,
   String^ fileName,
   List<CompositeJpxImages^>^ compositeImages,
   Jpeg2000FileFormat format,
   int bitsPerPixel,
   int qualityFactor
) 

Parameters

codecs
The Leadtools.Codecs.RasterCodecs object.
fileName
System.String containing the name of the file currently being saved.
compositeImages
List of CompositeJpxImages containing the image layer data that will be saved.
format
Output JPEG 2000 file format. For valid values, refer to Jpeg2000FileFormat.
bitsPerPixel
Resulting file’s pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. Zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).
qualityFactor
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.

Example

Visual BasicCopy Code
Public Sub SaveCompositeStringExample(ByVal xmlData() As Byte)
      Dim codecs As New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      ' Load a JPEG 2000 image
      Dim engine As New Jpeg2000Engine()
      Dim images As List(Of CompositeJpxImages) = engine.LoadComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), 0, CodecsLoadByteOrder.BgrOrGray)

      engine.ResetEngineBoxes()

      Dim gtsoBox As GtsoBox = DirectCast(engine.ReadBox(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), Jpeg2000BoxType.GtsoBox, 0), GtsoBox)
      engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox)

      ' Save the image in JPX file format
      engine.SaveComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), images, Jpeg2000FileFormat.LeadJpx, 24, 5)

      ' Append an XML box
      Dim _xmlBox As New XmlBox()
      _xmlBox.Data = xmlData
      Dim _xmlBoxes As New List(Of XmlBox)
      _xmlBoxes.Add(_xmlBox)
      engine.AppendBoxes(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), _xmlBoxes)

      '  Clean up
      Dim _image As CompositeJpxImages
      For Each _image In images
         _image.ColorImage.Dispose()
         _image.OpacityImage.Dispose()
         _image.PreOpacityImage.Dispose()
      Next _image
      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void SaveCompositeStringExample(byte[] xmlData)
   {
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      // Load a JPEG 2000 image
      Jpeg2000Engine engine = new Jpeg2000Engine();
      List<CompositeJpxImages> images = engine.LoadComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), 0, CodecsLoadByteOrder.BgrOrGray);

      engine.ResetEngineBoxes();

      GtsoBox gtsoBox = (GtsoBox)(engine.ReadBox(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), Jpeg2000BoxType.GtsoBox, 0));
      engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox);
      //Save the image in JPX file format
      engine.SaveComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), images, Jpeg2000FileFormat.LeadJpx, 24, 5);
      //Append an XML box
      XmlBox xmlBox = new XmlBox();
      xmlBox.Data = xmlData;
      List<XmlBox> xmlBoxes = new List<XmlBox>();
      xmlBoxes.Add(xmlBox);
      engine.AppendBoxes(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), xmlBoxes);
      // Clean up
      foreach (CompositeJpxImages image in images)
      {
         image.ColorImage.Dispose();
         image.OpacityImage.Dispose();
         image.PreOpacityImage.Dispose();
      }
      codecs.Dispose();
   }


static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

All of the engine boxes that are currently set will also be saved in this file.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Leadtools.Jpeg2000 requires a Document or Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features